1
Packaging du code Ruby : L’écosystème des gems
AI035Lesson 9
00:00

Le RubyGems écosystème est la réponse de Ruby au chaos de la « dépendance infernale » du gestionnaire traditionnel de bibliothèques. Au lieu de remplacer les fichiers dans un répertoire global partagé, RubyGems utilise Isolation architecturale.

1. La magie à l’exécution

Contrairement aux bibliothèques standards, chaque version d'une gem vit dans son propre répertoire auto-suffisant. Lorsque vous appelez gem 'nom', 'version', RubyGems exécute une « magie à l’exécution » : il ajoute dynamiquement le répertoire lib du dossier $LOAD_PATH à l’array global.

BlueCloth 0.0.4BlueCloth 0.5.5$LOAD_PATHgem 'BlueCloth', '>=0.5.5'

2. Résolution et dépôts

Alors qu’une installation locale peut échouer si une dépendance est manquante, installation distante (en utilisant --remote) télécharge automatiquement l’ensemble de l’arborescence des dépendances depuis un dépôt central, garantissant que Contraintes de version soient respectées avant le début de l’exécution.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>